home *** CD-ROM | disk | FTP | other *** search
/ Aminet 30 / Aminet 30 (1999)(Schatztruhe)[!][Apr 1999].iso / Aminet / dev / mui / bcc_src.lha / Parser / Error.cpp < prev    next >
C/C++ Source or Header  |  1998-03-15  |  585b  |  33 lines

  1. #include "FParse.h"
  2. #include <stdio.h>
  3.  
  4.  
  5. void FParse::Error( short num )
  6. {
  7.  
  8.     printf( "%s %ld Error %hd: %s\n", (char*)Name, (long)LineN, num, ErrorStrings()[ num ] );
  9.     
  10.     if( Tok ) {
  11.         char *p;
  12.         for( p = Tok; p > Data && *p != 10; p-- );
  13.         if( p != Data ) p++;
  14.         char *e;
  15.         for( e = Tok; e < Data+Len && *e != 10; e++ );
  16.         if( *e == 10 ) e--;
  17.         String errline( p, (short)(e-p+1) );
  18.         printf( "%s\n", (char*)errline );
  19.         short f;
  20.         for( f = 0; f< Tok-p; f++ ) {
  21.             if( ((char*)errline)[f] == 9 ) printf( "    " );
  22.             else printf( " " );
  23.         }
  24.         printf( "^\n\n" );
  25.     }
  26.  
  27.     ErrorBuf = num;
  28.  
  29. }
  30.  
  31.  
  32.  
  33.